package org.example.day03;

import java.util.Scanner;

/**
 * @author zlxad
 * @version 1.0
 * @description: TODO+
 * <div>  输入字符串s，输出s中包含所有整数的最小和 </div> <div>  说明 </div> <div>  1. 字符串s，只包含 a-z A-Z +- ； </div> <div>  2. 合法的整数包括 </div> <div>      1） <span>正整数 </span>一个或者多个0-9组成，如 0 2 3 002 102 </div> <div>      2）负整数 负号 - 开头，数字部分由一个或者多个0-9组成，如 -0 -012 -23 -00023 </div> <div>  <br> </div> <div> </div>
 *
 * 输入字符串s，输出s中包含所有整数的最小和
 * 说明
 * 1. 字符串s，只包含 a-z A-Z +- ；
 * 2. 合法的整数包括
 *     1） 正整数 一个或者多个0-9组成，如 0 2 3 002 102
 *     2）负整数 负号 - 开头，数字部分由一个或者多个0-9组成，如 -0 -012 -23 -00023
 * @date 2024/3/11 15:22
 */
public class test043 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String arr = scanner.nextLine();  // 读取输入的字符串
        int sum = 0;  // 初始化求和变量
        int i = 0;  // 初始化循环计数器

        while (i < arr.length()) {  // 遍历输入字符串的每个字符
            char c = arr.charAt(i);  // 获取当前字符

            if (Character.isDigit(c)) {  // 如果字符是数字
                sum += Character.getNumericValue(c);  // 将数字添加到求和中
            }

            if (c == '-') {  // 如果字符是减号
                StringBuilder sb = new StringBuilder();  // 创建一个空字符串构建器来存储负数的数字
                i++;  // 移动到下一个字符

                while (i < arr.length() && Character.isDigit(arr.charAt(i))) {  // 只要下一个字符是数字，就继续迭代
                    sb.append(arr.charAt(i));  // 将数字添加到字符串构建器中
                    i++;  // 移动到下一个字符
                }

                i--;  // 后退一步，以修正额外的增量
                if (sb.length() > 0) {  // 如果字符串构建器不为空（即遇到了负数）
                    sum -= Integer.parseInt(sb.toString());  // 从求和中减去负数
                }
            }

            i++;  // 移动到下一个字符
        }

        System.out.println(sum);  // 打印最终的求和结果
    }
}

